package lambda;
/**本来地用于测试抽象方法有返回值类型是lambda*/
public class Test2 {
    public static void main(String[] args) {
        /*方案1：创建接口实现类对象调用
        * 1创建接口的实现类对象【多态对象】*/
        Student s = new StudentImpl();
        getScore(s);
        /*方案2：使用匿名内部类的方式来调用*/
        //直接调用getScore(),参数处以创建匿名内部类的方式来完成
        getScore(new Student() {
            @Override
            public int scoreCount(int a, int b) {
                return a+b;
            }
        });
         /*方案3:使用Lambda表达式来完成*/
        getScore((a,b)->{
            return a+b;
        });
    }
    public static void getScore(Student s) {
        int score = s.scoreCount(60, 70);
        System.out.println("总分为："+score);
    }
}

interface Student{
        int scoreCount(int a,int b);
}
class StudentImpl implements Student{

    @Override
    public int scoreCount(int a, int b) {
        return a+b;
    }
}